#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;


class MyClass {
public:
    void printAddress() {
        cout << "Address of this object is: " << this << endl;
    }
};

int main1() {
    MyClass obj1;
    MyClass* obj2 = &obj1;
    obj1.printAddress();
    obj2->printAddress();
    return 0;
}

//class A
//{
//public:
//    void Print()
//    {
//        cout << "Print()" << endl;
//    }
//private:
//    int _a;
//};
//int main2()
//{
//    A* p = nullptr;
//    p->Print();
//    return 0;
//}

class A
{
public:
    void PrintA()
    {
        cout << _a << endl;
    }
private:
    int _a;
};
int main3()
{
    A* p = nullptr;
    p->PrintA();
    return 0;
}


class Stack {
public:
    Stack(size_t capacity = 3) {
        _top = 0;
        _capacity = 0;
    }

private:
    int _top;
    int _capacity;
    int* a;
};

class MyQueue {
public:

private:
    Stack st1;
    Stack st2;
};

int main()
{
    MyQueue mq;

    return 0;
}
